package com.dcoinpay.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.dcoinpay.sys.vo.req.PageReqVO;


import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 币种
 *
 * @author dcoinpay
 * @date 2020-07-02 22:20:34
 */
@Data
@EqualsAndHashCode(callSuper=true) 
@TableName("t_coin")
public class Coin extends PageReqVO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	@TableId(type = IdType.ASSIGN_ID)
	private String id;

	/**
	 * 币种代码
	 */
	@TableField("code")
	private String code;

	/**
	 * 币种全称
	 */
	@TableField("full_name")
	private String fullName;

	/**
	 * 合约地址
	 */
	@TableField("contract_address")
	private String contractAddress;

	/**
	 * 合约精度
	 */
	@TableField("contract_precision")
	private Integer contractPrecision;

	/**
	 * 排序
	 */
	@TableField("sort")
	private Integer sort;

	/**
	 * 状态(1可用 0不可用)
	 */
	@TableField("status")
	private Integer status;

	/**
	 * 节点ID
	 */
	@TableField("node_id")
	private String nodeId;

	/**
	 * 归集数量下限
	 */
	@TableField("collect_limit_min")
	private BigDecimal collectLimitMin;

	/**
	 * 当前是否可归集(0不可归集 1可归集)
	 */
	@TableField("current_collect_flag")
	private Integer currentCollectFlag;

	/**
	 * 最后归集时间
	 */
	@TableField(value = "collect_time",fill = FieldFill.UPDATE)
	private Date collectTime;

	/**
	 * 创建时间
	 */
	@TableField(value = "create_time",fill = FieldFill.INSERT)
	private Date createTime;

	/**
	 * 更新时间
	 */
	@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
	private Date updateTime;

	/**
	 * 创建人
	 */
	@TableField("create_by")
	private String createBy;

	/**
	 * 币种类型(0数字货币 1法币)
	 */
	@TableField("type")
	private Integer type;

	/**
	 * 是否可兑换(0否 1是)
	 */
	@TableField("exchange_flag")
	private Integer exchangeFlag;

	/**
	 * 资产精度
	 */
	@TableField("asset_precision")
	private Integer assetPrecision;

	/**
	 * 资金池数量
	 */
	@TableField("pool_amount")
	private BigDecimal poolAmount;
	
	/**
	 * 节点名称
	 */
	@TableField(exist = false)
	private String nodeFullName;


}
